package com.sweet.fourtimeoa.service;

import com.sweet.fourtimeoa.pojo.dto.*;
import com.sweet.fourtimeoa.pojo.entity.*;
import com.sweet.fourtimeoa.pojo.vo.*;

import java.util.List;

/**
 * 我的桌面
 */
public interface DesktopService {

    //我的便签-查询
    List<Notes> getNotesList(Integer userId);
    //我的便签-添加
    boolean addNotes(Notes notes);
    //我的便签-删除
    boolean deleteNotes(Integer noteId);
    //我的便签-修改
    boolean updateNotes(Notes notes);


    //待处理任务-请假申请分页查询
    PageVo<LeaveApplicationsAndUsersVo> queryLeaveApplicationsAndUsersList(PageDto<LeaveApplicationsAndUsersDto> pageDto);
    //待处理任务-出差申请分页查询
    PageVo<TravelApplicationsAndUsers> queryTravelApplicationsAndUsers(PageDto<TravelApplicationsAndUsersDto> pageDto);
    //待处理任务-收入证明申请分页查询
    PageVo<IncomeProofApplicationsAndUsers> queryIncomeProofApplicationsAndUsers(PageDto<IncomeProofApplicationsAndUsersDto> pageDto);
    //待处理任务-用车申请分页查询
    PageVo<VehicleUsageAndVehicleManagementAndUsers> queryVehicleUsageAndVehicleManagementAndUsers(PageDto<VehicleUsageAndVehicleManagementAndUsersDto> pageDto);
    //待处理任务-用章申请分页查询
    PageVo<SealManagement> querySealManagement(PageDto<SealManagementDto> pageDto);
    //待处理任务-图书预约申请分页查询
    PageVo<BookBorrowing> queryBookBorrowing(PageDto<BookBorrowingDto> pageDto);
    //待处理任务-名片打印申请分页查询
    PageVo<BusinessCardPrinting> queryBusinessCardPrinting(PageDto<BusinessCardPrintingDto> pageDto);






    //根据id修改申请状态
    //请假
    boolean UpdateStatusLeaveApplicationsAndUsersList(LeaveApplicationsAndUsersVo leaveApplicationsAndUsersVo);//请假




    //根据id查看对应显示的修改信息
    LeaveApplicationsAndUsersVo LookUpdateLeaveApplicationsAndUsersList(Integer applicationId);//请假
    TravelApplicationsAndUsers LookUpdateTravelApplicationsAndUsersList(Integer applicationId);//出差
    IncomeProofApplicationsAndUsers LookUpdateIncomeProofApplicationsAndUsersList(Integer applicationId);//收入
    VehicleUsageAndVehicleManagementAndUsers LookUpdateVehicleUsageAndVehicleManagementAndUsers(Integer usageId);//用车
    SealManagement LookUpdateSealManagementList(Integer id);//用章
    BookBorrowing LookUpdateBookBorrowingList(Integer id);//图书
    BusinessCardPrinting LookUpdateBusinessCardPrintingList(Integer id);//名片



    //通告管理-首页查询所有
    List<Announcements> getAnnouncementsList();

    //待处理任务-请假申请查询所有
    List<LeaveApplicationsAndUsersVo> getLeaveApplicationsAndUsersList();
    //待处理任务-出差申请查询所有
    List<TravelApplicationsAndUsers> getTravelApplicationsAndUsersList();
    //待处理任务-收入证明流程查询所有
    List<IncomeProofApplicationsAndUsers> getIncomeProofApplicationsAndUsersList();
    //待处理任务-用车申请查询所有
    List<VehicleUsageAndVehicleManagementAndUsers> getVehicleUsageAndVehicleManagementAndUsers();
    //待处理任务-用章申请查询所有
    List<SealManagement> getSealManagementList();
    //待处理任务-图书申请查询所有
    List<BookBorrowing> getBookBorrowingList();
    //待处理任务-名片印制查询所有
    List<BusinessCardPrinting> getBusinessCardPrintingList();





    //获取待处理数据个数
    //请假
    Integer countLeave();
    //出差
    Integer countBusinessCar();
    //收入
    Integer countIncomeProof();
    //用车
    Integer countVehicleUsageAndVehicle();
    //用章
    Integer countSealManagement();
    //图书
    Integer countBookBorrowing();
    //名片
    Integer countT();
}
